// 每一个表对应一个服务 every table has a servers
// 服务是 获取数据和保存数据

//导入数据模型 import model
const ProductModel = require('../db/models/product');

/* 轮播图处理服务函数*/
class ProductService {

	/* 添加Product数据到数据库*/
	async addEditProductData(data) {
    //查询数据库
		const pid = data.pid;
		//查询数据库中是否此项data
		const result = await ProductModel.findOne({
			where: {
				pid
			}
		})
    
    //判断数据库中是否有此条数据
    //check if the data in the dbbase
		if (result) {
      //更新
			return await ProductModel.update(data, {
				where: {
					pid
				}
			});
		} else {
      //创建
			return await ProductModel.create(data);
		}
  }
  
  /* 获取产品的数据*/
  async getProductData () {
    const result = await ProductModel.findAll();
    //await 返回的是直接的结果data，不用then
    return result;
	}
	
	/* 获取管理员页面的产品数据*/
	async getAdminManageProduct () {
		const result = await ProductModel.findAll();
    //await 返回的是直接的结果data，不用then
    return result;
	}

	/* 获取根据产品id获取产品*/
	async getProductById (pid) {
		const prod = await ProductModel.findOne({where: {pid}});
    //await 返回的是直接的结果data，不用then
    return prod;
	}
	

	/* 根据pid删除产品*/
	async deleteProductById (pid) {
		const product = await ProductModel.findOne({where: {pid}});
		product.destroy();
    //await 返回的是直接的结果data，不用then
    return ;	
	}
	
}


module.exports = new ProductService();
